home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 13782 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  6.4 KB

  1. Path: news.lpr.carel.fi!usenet
  2. From: Ari Lukumies <aril@cmt.lpr.mail.carel.fi>
  3. Newsgroups: alt.computer.consultants,comp.edu,comp.lang.basic.misc,comp.lang.c++,comp.lang.misc,comp.lang.pascal.borland,comp.lang.pascal.delphi.misc,comp.misc,comp.os.msdos.programmer,comp.os.os2.programmer.misc,comp.programming
  4. Subject: Re: Can we do programming without seeing the end user?
  5. Date: Wed, 27 Mar 1996 13:46:46 +0200
  6. Organization: Carelcomp Products
  7. Message-ID: <31592AA6.7B1B@cmt.lpr.mail.carel.fi>
  8. References: <BYtKnOggyTxQ071yn@oslonett.no>
  9. NNTP-Posting-Host: renoir.cclahti.carel.fi
  10. Mime-Version: 1.0
  11. Content-Type: text/plain; charset=us-ascii
  12. Content-Transfer-Encoding: 7bit
  13. X-Mailer: Mozilla 2.0 (WinNT; I)
  14.  
  15. Svein Olav Mytting wrote:
  16. > I sort of believe that sales and programming should be strictly
  17. > separate tasks. While a salesman should see his customer in person,
  18. > a programmer shouldn't do that.
  19. > My simple question is this: To which a degree can software development
  20. > be done using electronic communication as the only contact with the
  21. > sales people and/or end users?
  22.  
  23. Ok, here are a few things I've gathered during my nine years in 
  24. programming/designing/analysing. But first I must add that what I will say have 
  25. nothing to do with my current employer.
  26.  
  27. First, the salesmen tend to be just salesmen - they'll sell anything if they'll 
  28. make a buck. Unfortunately, many of them do not know if what they're selling can 
  29. even be implemented using the platform (OS, languages, tools, hardware) the 
  30. customer has. So, when preparing to sell something, it's a good idea to have a 
  31. discussion between the salesman and someone who knows the platform (as a 
  32. consultant). In addition, it's a good idea to have a consultant present in some 
  33. (not all of them) of the meetings between the customer and the salesman, since 
  34. the customer may come up with questions and suggestions the salesman is unable 
  35. to answer. There should also be at least one person who knows the business area 
  36. of the customer (or at least, the most important parts of it) to clarify the 
  37. extent of the deal being prepared. After the deal has been signed, the salesman 
  38. can move on to other deals, and the work of the analysts and designers begin.
  39.  
  40. To design a user interface for a program is usually best done in co-operation 
  41. with the end-user. For this purposes, a prototyping tool is ideal, especially if 
  42. it allows fast restructuring and redesigning so the user can see/test the 
  43. interface right away. What happens behind the user interface is the job of the 
  44. analyst (someone who knows the business area) and the customer's representative 
  45. to solve. Having that scetched out, the project leader can move on to break the 
  46. required processes to be programmed by the project members (programmers). 
  47. However, some parts of the system may not be fully scetched yet and may have to 
  48. overgo several iterations. This is especially true for the databases used in 
  49. large systems interacting with many different kinds of subsystems implemented 
  50. successively (eg. logic connections, management systems, laboratory systems, 
  51. orderbases etc). So, from time to time a revised version will tend to emerge. It 
  52. would be a great job, if the system was designed to allow such iteration from 
  53. the beginning, as to limit the amount of changes usually required in this kind 
  54. of production.
  55.  
  56. What's more difficult is to find limits of what should be done in the first 
  57. place, and what are improvements or enhancements that could be added later. In 
  58. one of the projects I've seen, a procedure was designed into a system, and 
  59. implementing that took about 70% of the time planned for implementing the whole 
  60. system. When the system was finished and after a year of running it, the 
  61. customer had still not found use for the new procedure and had never used it. In 
  62. addition, implementing this new procedure took so much time that some vital 
  63. parts of the system were delayed beyond acceptable limit. The problem was that 
  64. the people deciding about the importance and implementation order of the 
  65. features did not know enough of the habbits and normal work-flow of the 
  66. customer's end-users.
  67.  
  68. I've seen too many cases where the project leader did not know a) the business 
  69. area, and b) the platform and tools used either. This easily leads to a 
  70. situation where the timetables won't hold and the job is done ineffieciently. 
  71. The project leader(s) should always know their project members; what each of 
  72. them is best at (or not good at), what are their specialities etc. so s/he can 
  73. direct the different parts of the project to be done by the most suitable 
  74. person. This is called resource maintainance. Also, the project leader should 
  75. have at least some background on the platform and the business area, since it's 
  76. usually s/he who should keep in connection with the customer.
  77.  
  78. Normally, programmers would not have to deal with the customer, but in some 
  79. cases it's unavoidable. For instance, if there's some particular problem that 
  80. has to be solved and the only one specializing in that area is one of the 
  81. programmers. This case does happen every now and then, especially when dealing 
  82. with more complex systems (for example, transferring data from a previous system 
  83. built by the customer's own staff to a new one). In this case, however, the 
  84. programmer is usually considered to be a consultant or an analyst. I'd also like 
  85. to add that if a programmer spent some time getting to know the customer's 
  86. current way of doing things, he'd be better off to write the program, since he'd 
  87. come to accustomed to the way the customer might do it easier. In many cases, 
  88. it's more troublesome if the customer has to change their habbits than to extend 
  89. them.
  90.  
  91. The best organization (I've yet to see) would be one that contained three 
  92. separate groups of people. One for the people that specialize in business areas 
  93. but not much else. Another for people who specialize in platforms, hardware, 
  94. tools etc. And one for those who cannot classify in the previous two - pure 
  95. programmers (yes, there still are those). When putting up a team to produce a 
  96. system for a customer, you would take enough people from the three cathegories 
  97. and make them work together. The business-area people and the platform people 
  98. would work as kind of consultants for the project group and, as such, could also 
  99. participate in other projects same time, too, since they would not have to be 
  100. involved with one particular project whole time.
  101.  
  102. Later,
  103.  AriL
  104. -- 
  105. All my opinions are mine and mine alone and do not necessarily reflect the 
  106. opinions of my employer.
  107.